\\HELPFILE//  VERSION 1
.Main <<<<<<<< Overview of DOS System Utilities >>>>>>>>

The DOS System Utilities is a collection of various utilities I
have developed over the years to overcome deficiencies in the
MS-DOS operating system.  Many of these utilities have been in
use for some time on my system and various other people's
systems.  Others have been newly introduced with this package.

Some of the functions have found their way into some of the newer
DOS versions.  Some functions have been published in packages
like PCTOOLS and the Norton Utilities.  Other functions have
never been widely available.  This package provides an
inexpensive set of tools that will work uniformly across many DOS
versions.

Almost all programs will allow their output to be redirected
using the ">" and "|" redirection characters.  Some programs,
like REPLY, use full screen window boxes, therefore are not
indended to be redirected.

In general, the command line option "/?"  (without quotes) may be
used to obtain a summary of command line parameters.  There is
also a help processor (DSUTHELP) that may be run to browse the
utilities and their functions.



    ┌────────────────────────────────────────────────────────┐
    │ Press T (or click on Topics) for a menu of help topics │
    └────────────────────────────────────────────────────────┘

If you have not already registered, please take a minute and do
so.  The DOS System Utilies are the product of hundreds of hours
of work, and you can help keep the concept of "shareware" alive
by supporting software authors who want to continue to use this
approach to bring high-quality (yet affordable) programs to
users.  You'll also be notified of free updates to the program.

To register, complete the registration form at the end of the
documentation or send $20 (U.S.  Funds) to:

                 Tom Donnelly Computer Software
                          P.O. Box 3856
                      San Dimas, CA  91773

       *Please indicate what size floppy disk you prefer.*

.Notation <<<<<<<<       Notational Conventions     >>>>>>>>

Notational Conventions:
-----------------------

The following notational conventions are used in the
documentation, this interactive help program and the command line
help displays.  The symbols used (such as [] and |) are not part
of the command itself.

[ ]        Square brackets indicate an optional item.

|          Multiple, mutally-exclusive choices are separated by a
           vertical bar.

parm       Parameters that require substitution are shown in
           lower case.

.ExtendWC <<<<<<<<         Extended Wildcards       >>>>>>>>

Many utilities, such has MOVE, NEWCOPY and STAMP accept extended
wildcards in filenames.  Extended wildcards increase the
flexibility normally provided by DOS wildcards.

Standard wildcards allow "*" to indicate "any character that
follows and "?" to indicate "any character in this position.  For
example, if you want all files beginning with ABC, you would
specify "ABC*.*".  Unfortunately, if you want only files
beginning with ABC that also end with YZ, you could not specify
this with standard wildcards.

Extended wildcards allow "*" to indicate "any characters or none
here" ("?" still indicates "any character in this position").  To
indicate all files beginning with ABC that end with YZ, you would
specify "ABC*YZ.*".  This would match names such as ABC1YZ.TXT,
ABCYZ.TXT and ABC123YZ.TXT.  Extended wildcards may be specified
for either the filename or extension or both.

:Batch File and CONFIG.SYS Assists
.ALTPAUSE ALTPAUSE...Pause batch files or CONFIG.SYS

Purpose: Delay batch execution while ALT, CTRL or SHIFT key
or mouse button is pressed.

Syntax:  ALTPAUSE
          -or-
         DEVICE=ALTPAUSE.SYS

.CHAIN CHAIN......Execute a "chain" of programs or commands.

Purpose: Run multiple programs from 1 command.

Syntax:  CHAIN command [~command[~command]]

   command     One or more commands to be run.

The tilde character (~) is used as a separator between multiple
commands.

.CLEAR CLEAR......Clear the screen during CONFIG.SYS

Purpose: Clear the screen during CONFIG.SYS processing.

Syntax:  DEVICE=[d:][path]CLEAR.SYS

.ISDAY ISDAY......Determine day of week from batch

Purpose: Determind day of week from a batch file

Syntax:  ISDAY day [day[day[...]]][/F:name][/V][/?]

   day         Day of week abbreviation (MON, TUE, etc).
               Returns ERRORLEVEL 1 if the system date is
               one of the days listed.
   /F:name     Returns ERRORLEVEL 1 if date of the specified file
               is one of the days listed.  If day is omitted, the
               file date is compared with today's date.
   /V          Verbose (display result message).
   /?          Display help message.


   If today is one of the days specified, ISDAY exits with
   ERRORLEVEL 1. Otherwise, exits with ERRORLEVEL 0. "day" may be
   one or more three-character abbreviation of the day of the
   week (MON, TUE, WED, THU, FRI, SAT or SUN).

   When the /F:name option is specified, the date of the file
   named on the /F:  option is compared with the days specified.
   If the date of the file is the same as one of them, ISDAY
   exits with ERRORLEVEL 1. Otherwise, it exits with ERRORLEVEL
   0. When /F:  is specified, day may be omitted to compare the
   file date against today's date.  Keep in mind that the compare
   is with the date of the file, NOT the file's contents.

.ISEMS ISEMS......Determine if EMS memory is present

Purpose: Allow batch to determine if EMS memory is present

Syntax:  ISEMS kb

   Returns with ERRORLEVEL 1 if the amount of EMS memory
   specified by "kb" (in kilobytes) is available.

.ISTIME ISTIME.....Determine time of day from batch

Purpose: Allow batch to determine the time-of-day.

Syntax:  ISTIME time1 [time2] [/F:name] [/v] [/?]

   time1       Time of day hh:mm in 24-hour clock notation
   time2       Time of day hh:mm in 24-hour clock notation
   /F:name     Compares the time-stamp of the specified file with
               the times specified. If time1 and time2 are
               omitted, the file time-stamp is compared with the
               current time.
   /V          Verbose (display result message).
   /?          Display help message.

If the current system clock is later than "time1" or between
"time1" and "time2" (if time2 is specified), ISTIME exits with
DOS ERRORLEVEL 1. Otherwise, it exits with ERRORLEVEL 0.

When the /F:name option is specified, the time-stamp of the file
named on the /F:  option is compared with the times specified.
If the time-stamp of the file is later than time1 or between
time1 and time2, ISTIME exits with ERRORLEVEL 1. Otherwise, it
exits with ERRORLEVEL 0. When /F:  is specified, time1 and time2
may be omitted to compare the file's time-stamp against the
current time.  Keep in mind that the compare is with the
time-stamp of the file, NOT the file's contents.

The /V option is useful in debugging batch files.

.REBOOT REBOOT.....Reboot computer from batch file

Purpose: Reboot computer from batch file or command line.

Syntax:  REBOOT [/W][/C][/NC][/?]

   /W         Warm reboot (like CTL-ALT-DEL).
   /C         Cold reboot (like power-on).
   /NC        No Confirmation if run under DesqView or Windows.
   /?         Display help message.

.RUNTODAY RUNTODAY...Determine if batch has been run today

Purpose: Allow batch to determine if it has been run today.

Syntax:  RUNTODAY ctlfile [/S][/?]

   ctlfile     is the name of the control file used to store the
               run date.
   /S          Indicates that the control file's date is to be
               set to today's date.
   /?          Display help message.

If the control file is dated with today's date, RUNTODAY exits
with ERRORLEVEL 1. Otherwise, it exits with ERRORLEVEL 0.

To set the control file's date to today's date, include the /S
option on the command line.  By omitting the /S option, you may
check the control file's date without changing it.  This allows
you to perform some action and, if successful, execute RUNTODAY a
second time with the /S option to set the date to today.

If the name of the control file is not specified on the
command-line, RUNTODAY will create and maintain a file called
RUNTODAY.DAT in the root directory of the current drive.  This
file is a zero-byte file and, therefore, does not occupy any disk
space (except the space for the directory entry).

.REPLY REPLY......Obtain reply during a batch

Purpose: Obtain a reply within a batch.

Syntax:  Reply [options] [text]
         If options are specified, they must appear before the
         text.

   text       Text of message to be displayed.  Text may be split
              into multiple lines by using the ~ char in the
              text.  Each line is centered within the reply box.
   /D:Y       Specifies the default answer of YES.
   /D:N       Specified the default answer of NO.
   /F:file    Read message text from file.  Each line from the
              file is displayed as is, without centering or
              splitting.  Up to 20 lines may be displayed.
   /I:n       Indents message text read from file by n characters.
   /CF:ctlfil Ask for reply only if date of control file is not
              today's date.  Exits with ERRORLEVEL 2 if dates
              match.
   /O         Prompt for OK instead of YES/NO.
   /T:time    Number of seconds after which the default option
              will be automatically assumed.
   /NT        No title on top line of frame.
   /COLOR:nnn Predefined color - nnn=RED, GREEN, GRAY or BLUE.
   /FRAME:fg:bg
   /BOX:fg:bg Defines the fg/bg color of the box frame and text.
   /?         Display help message.
Fg/Bg colors: Black, Blue, Green, Cyan, Red, Magenta, Brown
Fg colors:    LightGray, DarkGray, LightBlue, LightGreen,
              LightCyan, LightRed, LightMagenta, Yellow, White

.SLEEP SLEEP......Delay batch execution

Purpose: Delay batch execution

Syntax:  SLEEP n HR|MIN|SEC [/K[/D]][/?]

   n          Number of hours, minutes or seconds to sleep.
   /K         Wakeup if keypressed and exit with errorlevel 1.
   /D         Discard key pressed to wakeup (valid only with /K).
   /?         Display help message.

.STUFF STUFF......Stuff characters into keyboard buffer

Purpose: Place keystrokes into keyboard buffer as if types.

Syntax:  STUFF string

   The string on the command line following the STUFF command is
   placed the keyboard type-ahead buffer as if typed.  Control
   characters may be specified by entering the decimal value of
   the key and preceeding it with a back-slash character (eg, \13
   to indicate RETURN).  Special characters may be specified by
   enclosing the key name (see below) in curly-braces, eg, {AltR}.

   The total length of the string to be stuffed cannot exceed 15
   characters (under DOS) or 128 characters (under DesqView).
   Control and special characters count as 1. Some programs flush
   any keyboard input during their initialization.  Therefore,
   they may ignore any key you stuff.

Special characters

   The following strings will be translated to the corresponding
   key-code values:

   {AltA} {AltB} {AltC} {AltD} {AltE} {AltF} {AltG} {AltH} {AltI}
   {AltJ} {AltK} {AltL} {AltM} {AltN} {AltO} {AltP} {AltQ} {AltR}
   {AltS} {AltT} {AltU} {AltV} {AltW} {AltX} {AltY} {AltZ}
   {F1} {F2} {F3} {F4} {F5} {F6} {F7} {F8} {F9} {F10} {F11} {F12}
   {Home} {End} {ArrUp} {ArrLt} {ArrRt} {ArrDn} {PgUp} {PgDn}
   {Insert} {Delete} {ShfTab}
   {ShfF1} {ShfF2} {ShfF3} {ShfF4}  {ShfF5}  {ShfF6}
   {ShfF7} {ShfF8} {ShfF9} {ShfF10} {ShfF11} {ShfF12}
   {CtlF1} {CtlF2} {CtlF3} {CtlF4}  {CtlF5}  {CtlF6}
   {CtlF7} {CtlF8} {CtlF9} {CtlF10} {CtlF11} {CtlF12}
   {AltF1} {AltF2} {AltF3} {AltF4}  {AltF5}  {AltF6}
   {AltF7} {AltF8} {AltF9} {AltF10} {AltF11} {AltF12}
   {CtlHome} {CtlEnd} {CtlLt} {CtlRt} {CtlPgDn} {CtlPgUp}
   {Alt1} {Alt2} {Alt3} {Alt4} {Alt5} {Alt6}
   {Alt7} {Alt8} {Alt9} {Alt0} {Alt-} {Alt=}

:Utility Programs
.CDD     CDD........Change Directory

Purpose:  Change directories without knowing exact directory name.

Syntax:  CDD  name [/MD][/RD][/NC][/E][/F][/S][/SS]
                   [/WIPE][/PURGE][/?]

   name        Name of directory to change to, make or
               remove.
   /MD         Make the specified directory.
   /RD         Remove the specified directory.
   /NC         No confirmation when removing a directory
               containing files.
   /E          Allow only exact (not phonetic) match.
   /F          Change to the directory containing the file
               named by "name".
   /S          Scan disk and rebuild quick-start index.
   /SS         Suppress scan/rebuild during make or remove.
   /WIPE       Invoke WIPEOUT.EXE to delete files in directories
               removed by /RD.
   /PURGE      After deleting files during /RD, issue Netware
               PURGE.
   /?          Display help message.

Specify the location of the quick-start index by including the
following statement:  SET CDD=d:\path

.DSKCONFG DSKCONFG...Display disk configuration

Purpose: Display disk configuration information.

Syntax:  DSKCONFG [dr:][/P][/?]

   dr:        Drive whose configuration is to be displayed
   /P         Pause after displaying configuration.
   /?         Display help message

.HIDE HIDE.......Change files to hidden or unhidden

Purpose: Change file attribute to hidden (or unhidden)

Syntax:  HIDE filespec [filespec[...]] [/U] [/L] [/P] [/S] [/?]

   filespec   Wild-card file specification.  Normal files
              matching the filespec will be changed to
              hidden files.
   /U         Unhide files matching the filespec.
   /L         Only List file names matching selection criteria.
   /P         Prompt for confirmation before changing any files.
   /S         Process Sub-directory files instead of normal files.
   /?         Display help message.

.MOVE MOVE.......Move files from directory to directory

Purpose: Move files between directories.

Syntax:  MOVE [@]source [dest] [/A:mm-dd-yy][/B:mm-dd-yy][/D:nnn]
                               [/E][/F][/K][/M][/MX][/N][/P][/R]
                               [/V][/?]

   source     Name of source directory and files (or name of an
              indirect file, if preceded by an "@").
   dest       Name of destination directory and file rename mask.
   /A         Move only files with date after mm-dd-yy.
   /B         Move only files with date before mm-dd-yy.
   /D         Move only files nnn days old or older.
   /E         Move only files that also exist in the destination.
   /F         Force move via copy/delete instead of rename.
   /K         Kill (remove) source directory if empty after
              moving files.
   /M         Move only files with "modify" (archive) attribute.
   /MX        Sets the "modify" (archive) attribute after move.
   /N         Replace duplicate named file in dest ONLY IF file
              in source is Newer (by date).
   /P         Prompt for confirmation before performing the move.
   /R         Replace duplicate named file in dest.
   /V         Activate DOS verify before performing copy (if it is
              necessary to MOVE via copying and deleting the file).
   /?         Display help message.

.NEWCOPY NEWCOPY....Copy files that are newer

Purpose: Copy only those files that are newer.

Syntax:  NEWCOPY [@]source [dest] [options]

   source      Name of source directory and files (or name of an
               indirect file, if preceded by an "@").
   dest        Name of destination directory or newname mask.
Options:
   /D          Directory of input file used for output file.
   /E          Output file must already exist.
   /F          Force copy operation regardless of dates.
   /F:nnn      Issue Novell FLAG SRW before then FLAG nnn
               after copy.
   /NE         Copy file if input and output file dates are not
               equal.
   /NX         Output file must not already exist.
   /P          Pause for confirmation before copying.
   /PE         Pause after error.
   /RO         Allow read-only output files to be replaced.
   /S          If dates match, copy if output file size>input
               file size.
   /SORT:SIZE  Copy multiple files in size sequence.
   /SORT:DATE  Copy multiple files in date sequence.
   /SORT:NAME  Copy multiple files in name sequence.
   /SORT:EXT   Copy multiple files in extension sequence.
   /TEST       Test mode - don't perform actual copy or
               flagging.
   /TESTOK     Test mode - don't perform actual copy or
               flagging, but only display names of files
               matching selection criteria.
   /V          Activate DOS verify before performing copy.
   /?          Display help message.

.PATHMOD PATHMOD....Modify PATH variable

Syntax:  PATHMOD dir [dir ...] [/D][/F][/M][/R][/X][/?]

   dir         The name of one or more directories to be added
               or deleted from the current path.
   /D          Indicates that the named directory is to be
               deleted from the current path.
   /F          For an add, the directory is added in front of
               the path when /F is specified.  If /F is not
               specified, the directory is added at the end of
               the path.
               For a delete when no directory is specified, the
               first directory in the path is deleted when /F is
               specified.  Otherwise, the last directory in the
               path is deleted.
   /M          Display messages while adding/deleting.
   /R          Remove redundant directory entries from PATH.
   /X          Expand relative directory names to fully-qualified
               names.
   /?          Display help message.

.POP POP........Restore saved directory

Purpose: Restore directory saved by PUSH.

Syntax:  POP [NOSET|CLEAR|SHOW]

   NOSET      Pop last pushed directory, but stay in current
              directory.
   CLEAR      Erase all pushed directories.
   SHOW       Show currently pushed directories.

.PRTSC PRTSC......Enable/Disable print-screen key

Purpose: Enable and disable print-screen key

Syntax:  PRTSC [ON|OFF]

   ON         Enable print-screen key.
   OFF        Disable print-screen key.

.PUSH PUSH.......Save and change to directory

Purpose: Save current directory and change to new directory.

Syntax:  PUSH dir|"dir"

   dir        Name of directory to change to after saving
              current directory.
   "dir"      Save directory name in quotes, but stay in
              current directory.

.RUNAT RUNAT......Run a command at a given time

Purpose: To schedule a DOS command at a given time of day.

Syntax:  RUNAT hh:mm command

   hh:mm      Clock time-of-day to run command.
   command    Command-string to be run.

.STAMP STAMP......Change file time/date stamp

Purpose: Change the time and/or date stamp of a file.

Syntax:  STAMP [@]filespec [/D:mm-dd-yy][/T:hh-mm-ss][/P][/?]

   filespec    Name of files to be stamped (or name of an
               indirect file, if preceded by an "@").

   /D:mm-dd-yy Set date of selected files.
               (Use /D:TODAY to set files to today's date)
   /T:hh-mm-ss Set time of selected files.
               (Use /T:NOW to set files to current time)
   /P          Pause for confirmation before acting.
   /?          Display help message.

.SYSCONFG SYSCONFG...Display system configuration information

Purpose: Display system configuration information

Syntax:  SYSCONFG [/P][/?]

   /P         Pause after displaying configuration.
   /?         Display help message.

.WIPEOUT WIPEOUT....Overwrite file information

Purpose: Overwrite file information

Syntax:  WIPEOUT filename [/NC][/ND][/DOD][/V][/?]

   /NC        No confirmation required before wiping file.
   /ND        No deletion of file (just wiping).
   /DOD       Use Department of Defense wiping standard.
   /V         Activate DOS verify while wiping.
   /?         Display help message.

:Resident Programs
.PCCLOCK  PCCLOCK....Display on-screen clock

Purpose:  Display continuous, on-screen clock.

Syntax:  PCCLOCK [option]

   Chime:x    0=no chimes
              1=chime on each hour
              2=chime on each half-hour
              4=chime on each quarter-hour (Default)
   Dsply:x    ON=Activate screen display (Default)
              OFF=Deactivate screen display
   Alarm:x    ON=Activate alarm at previous setting
              OFF=Deactivate alarm (Default)
              hhmmi=Activate alarm at hhmmi
                    (eg: 1245P = 12:45 PM)
   Timer:x    OFF=Deactivate count-down timer (Default)
              mmss=Activate one-time count-down timer
                   (eg: 1000 = 10 minutes)
              mmssC=Activate continuous count-down timer
                    (eg: 0230C = every 2 minutes, 30
                    seconds)

Any of the keywords such as Chime, Dsply, Alarm and Timer
may be abbreviated to the first character (for example
D:On C:4).

Running PCCLOCK without parameters will display current
settings (including time remaining on count-down timer, if
set).

To silence the alarm or timer, press CTRL-ALT-LeftShift keys
simultaneously.

To toggle the clock display on and off, press
CTL-ALT-LeftShift keys simultaneously.

Note:  Unlike other programs in this package, PCCLOCK is a
resident program (TSR).  After running the first time, it
remains in memory and continues to update the screen until
the system is rebooted.

While resident, PCCLOCK uses about 1.5K of memory.

